﻿<%@ Application Language="C#" %>
<%@ Import Namespace="System.Web.Routing" %>

<script RunAt="server">

    void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
        RegisterRoutes(RouteTable.Routes);
    }

    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码

    }

    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码

    }

    void Session_End(object sender, EventArgs e)
    {
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时，才会引发 Session_End 事件。如果会话模式设置为 StateServer
        // 或 SQLServer，则不引发该事件。

    }


    public void RegisterRoutes(RouteCollection routers)
    {
        routers.MapPageRoute(
            "idx-0",
            "",
            "~/index.aspx"
        );
        routers.MapPageRoute(
            "idx-1",
            "index",
            "~/index.aspx"
        );

        routers.MapPageRoute(
             "app0",
             "{folder}",
             "~/apps/{folder}/index.aspx"
        );

        routers.MapPageRoute(
             "app1",
             "{folder}/{webform}/",
             "~/apps/{folder}/{webform}.aspx"
        );

        routers.MapPageRoute(
            "app2",
            "{folder}/{webform}/{id}",
            "~/apps/{folder}/{webform}.aspx"
        );

        routers.MapPageRoute(
            "app3",
            "{folder}/{webform}/{id}/{cid}",
            "~/apps/{folder}/{webform}.aspx"
        );

    }

</script>
